FIG. 1 is an illustration of a color CMOS active pixel sensor (APS) system 100. The system 100 includes a N×M pixel array 101 comprised of pixels R, G, B respectively sensitive to red, green, and blue colored light. The pixels R, G, B are arranged in a Bayer pattern to model the human visual response. In the Bayer pattern, alternating rows are comprised of green/red and green/blue pixels. Any image focused upon the pixel array causes the pixels to convert the incident light into electrical voltages. Conventionally, each pixel outputs two signals including a reset signal corresponding to a base line voltage level, as well as a photo signal corresponding to the base line voltage level as modified by charge accumulation in the pixel caused by incident light. These two signals may be considered to be different components of a single differential signal, i.e., the pixel signal. The APS system 100 operates by reading the pixel signals of each row, one at a time, from the N×M pixel array to an N×1 row of pixel buffers 102. The pixel buffers 102 are designed to maintain the integrity of the pixel signals output by the pixel array 101, and may be implemented using, for example, sample-and-hold circuits.
The N×1 row of pixel buffers 102 are coupled to a N:1 multiplexer 103, which is used to select a pixel from the N×1 row for further processing. The first processing step is at an analog signal chain 104, which is used to amplify the voltages of the pixel signal. The amplified voltages are stored in a sample-and-hold circuit 105 to accurately capture and hold the amplified voltages. The sample-and-hold circuit 105 is also used as a driver for an analog-to-digital converter 106, which converts the amplified voltages to a digital value.
The above described process is repeated for each pixel in the N×1 row. When the last pixel has been processed, the procedure is repeated using another row, until all M rows of the pixel array has been processed.
An issue associated with the system 100 is that the pixels R, G, B of the pixel array 101 may not be calibrated to the same level. For example, a black image has no light by definition, and thus when the pixel array 101 is exposed to a black image, each of the pixels R, G, B should output a pixel signal corresponding to zero signal. However, when measuring the pixel signals output by the pixels R, G, B, the output of each pixel will tend to vary from the zero signal. These discrepancies are unwanted voltage offsets in the pixel signals, and have several adverse effects. First, they distort the captured image. For example, an image of an uniform field may not appear uniform due to variations in color and/or intensity. Additionally, positive offsets may cause a reduction in the dynamic range of an image, due to a reduction in the useful ranges of voltages presented to the analog-to-digital converter 106. Similarly, negative offsets may cause clipping. Frequently, pixels sensitive to the same color may exhibit similar unwanted voltage offsets. These unwanted voltage offsets can be measured when the system 100 is manufactured, or during system initialization. Thus, the per-color correction values are generally known when the system 100 is operated. Conventional CMOS APS systems generally apply these correction values via digital processing after the voltages have been converted to digital values by the analog-to-digital converter 106. However, digital correction is problematic because correction in the digital domain utilizes valuable processing resources in an imaging system. Additionally, correction in the digital domain does not address dynamic range reduction in the analog processing portion. Accordingly, there is a need and desire for an efficient method and apparatus for applying per-color correction values to eliminate or reduce unwanted voltage offsets output by different color pixels R, G, B in a CMOS APS pixel array.